System and interfaces for managing workplace events

ABSTRACT

A system and associated interfaces are provided that permit the monitoring of workers within the workplace environment. In one aspect, a monitor having various sensing capabilities may be assigned to a monitored subject that records various parameters that are personal to the worker. For instance, it is appreciated that there may be sensor that can be attached to the monitored subject that is adapted to monitor certain parameters associated with the worker&#39;s environment. For instance, a sensor assigned to the monitored subject may be capable of determining the location of the subject, along with motion, impacts, altitude, and other environmental parameters that could affect the health or other condition of the worker.

RELATED APPLICATIONS

This application claims priority under 35 U.S.C. §119(e) to U.S. Provisional Patent Application Ser. No. 62/309,206, entitled “SYSTEM AND INTERFACES FOR MANAGING WORKPLACE EVENTS,” filed Mar. 16, 2016, incorporated herein by reference in its entirety.

NOTICE OF MATERIAL SUBJECT TO COPYRIGHT PROTECTION

Portions of the material in this patent document are subject to copyright protection under the copyright laws of the United States and of other countries. The owner of the copyright rights has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the United States Patent and Trademark Office publicly available file or records, but otherwise reserves all copyright rights whatsoever. The copyright owner does not hereby waive any of its rights to have this patent document maintained in secrecy, including without limitation its rights pursuant to 37 C.F.R. §1.14.

SUMMARY

Systems exist that alert users to dangerous working conditions, such as radiation, physical, chemical, air quality, and other dangers. However, it is appreciated that it would be useful to have personalized monitors in the workplace that could store and communicate events associated with particular workers. Such monitors would be particularly useful in the construction industry where slips/falls and other workplace accidents are commonplace. Existing systems and software tools used to monitor workplace conditions are not sufficient in identifying what has occurred to a specific worker at a specific location within the workplace.

What is needed is a system and associated interfaces that permits the monitoring of workers within the workplace environment. In one embodiment, a monitor having various sensing capabilities may be assigned to a worker (e.g., referred to herein as a monitored subject) that records various parameters that are personal to the worker. For instance, it is appreciated that there may be sensor that can be attached to the monitored subject (e.g., at the belt line) that is adapted to monitor certain parameters associated with the worker's environment. For instance, a sensor assigned to the monitored subject may be capable of determining the location of the subject, along with motion, impacts, altitude, and other environmental parameters that could affect the health or other condition of the worker. In some embodiments, the sensor is worn at the beltline to accurately measure movement of a wearer's core.

Further, it is appreciated that it may be helpful to be able to detect slips and falls at the worksite and to alert appropriate personnel in real time. A system may be provided that includes personalized sensors that record and detect environmental parameters that could affect a worker, and a distributed computer system infrastructure that is capable of processing events received from sensors, sending alerts to management personnel, reporting, showing location status among other functional capabilities. Such a system may be helpful in decreasing response time to accidents. Another benefit may include providing a record of any accidents for use in managing workers compensation claims.

In another implementation, the system may be capable of tracking the worker as a resource in providing information to other computer systems to facilitate resource management and productivity tracking. For instance, the system may be capable of reporting when workers are on or off site, as well as their approximate locations on-site. For instance, such information may be used by a resource management and planning application to indicate when particular types of workers (e.g., plumbers) are at a construction site for a particular period of time. In one example, it may be useful to know and track in real-time how many plumbers were on a particular jobsite for how many hours for budgeting purposes.

In one implementation, individual sensors are assigned to monitored subjects, and these sensors are capable of communicating over a communication network. In one embodiment, the communication network takes the form of a wireless mesh network comprising a number of nodes that are capable of passing messages received from sensors. The mesh network may also be coupled to a distributed computer system that is capable of receiving and processing event data received from the sensors. Such event data may be received, stored, and processed and may result in alert messages being sent to particular manager users. Further, such data may be analyzed and presented to manager users for the purposes of monitoring individual and groups of users, reporting, determining compliance, budgeting, resource planning, as well as other management operations.

According to one implementation, the sensor may be a wearable portion of the system. In one example, the sensor is a small battery—powered unit worn on the body of the monitored subject. For instance, the sensor may be worn on the belt, although in some cases it may be worn in a pocket of a safety vest or may be integrated into other apparel/equipment. In one example implementation, the sensor is worn on a belt around a subject's waist which allows the sensor to accurately measure movement of a person's core.

In one implementation, the sensor may include one or more controls and/or indications that may be used by a monitored subject. In one example implementation, the sensor may include a button that permits the wearer to indicate to others that an emergency or other situation is occurring, causing a message and/or alert to be sent to a management system (e.g., a manager's device and/or sensor). In another example, the sensor may include one or more indicators, such as lights (e.g., LEDs), audio indicators (e.g., a piezo sound transducer), to indicate a sensor/wearer status, indicate event status, and/or provide feedback to the wearer or other user.

As discussed, the system may be used to perform a number of functions associated with monitoring a subject at the worksite. For instance, the system may be capable of determining certain types of events that may be detrimental to the subject (e.g., slips/falls, fall off of a ladder/building, impacts, throwing of the sensor, dropping of the sensor, running, jumping, etc.). For instance, the system may determine, in association with an event, the location of the event, the time that the event occurred, and any associated parameters that may be necessary to understand the nature of the event. For example, the system made be able to determine how high of a fall the subject experienced, how hard the fall, the type of fall, etc. The system may also be capable of determining whether the sensor was actually worn by the subject at the time of the event (e.g., to prevent fraudulent worker's compensation claims). In another implementation, the system may be configured to determine the subject's altitude at a particular location to determine their location (e.g., in a building).

The system may also perform a number of identification/compliance functions such as determining if the subject is on a jobsite at a particular time, geo-fencing functions such as, for example, determining whether a person is permitted in a particular area, and other monitoring activities and functions. Such information may be capable of being used for resource management, budgeting, safety, compliance and other functions.

Further, it is appreciated that it may be helpful to have a sensor device that improves battery life. Accordingly, certain features including, but not limited to, how the sensor communicates, when the sensor is active, and how the sensor responds to events can contribute towards a longer battery life. In one embodiment, the sensor communicates using a protocol wherein the sensor communicates only during predetermined time slots. For instance, upon assignment to a particular monitored subject, system components may assign a particular sensor a timeslot in which it communicates on the mesh network. Because the sensor communicates only during this period, the amount of time that the sensor needs to be active (e.g., and powering antennas and other interface circuits), is reduced. Further, the detection of particular inputs from the sensor may cause the sensor to become active. Other modes of sensor and/or system operation may be provided that are conducive to preserving power.

Further, specialized communication nodes may be provided that are configurable in a mesh-type communication network. Such nodes may be distributed throughout the workplace and facilitate sensor communication of event and status information. Some nodes repeat information received by sensors to other nodes, and other types (e.g., gateway nodes) are connectable to other types of data networks (e.g., a conventional data network) and communicate the sensor data to computer systems using standard protocols (e.g., TCP/IP).

According to one aspect of the present invention, a system is provided comprising a plurality of communication nodes configured in a wireless mesh network, a sensor, assigned to a monitored subject, comprising a wireless network interface adapted to communicate with the mesh network, a processor adapted to detect a plurality of workplace events occurring to the monitored subject and wherein the processor is further adapted to communicate an event message over the wireless mesh network to a managing computer system, wherein the event message comprises a location of the event, information indicating that the monitored subject experienced at least one event of a group comprising a fall event, a jump event, and a slip and fall event. According to one embodiment, the sensor further comprises at least one accelerometer, a gyroscopic element, and a pressure sensor.

According to another embodiment, the sensor is further adapted to detect, responsive to a trigger, data for a defined period of time from the at least one accelerometer, gyroscopic element, and pressure sensor, and communicate the data within the event message. According to another embodiment, the system is adapted to analyze at least one of the plurality of workplace events, the analysis of at least one event including a determination of a freefall duration, a detection of a jump, an altimeter analysis, an impact detection, a rotational analysis, a post-fall analysis, and a proximity sensor analysis.

According to another embodiment, the system further comprises a managing computer system having an interface through which a user is capable of viewing information relating to the plurality of workplace events. According to another embodiment, the sensor further comprises a proximity sensor that senses when the sensor is being worn by the assigned subject, and wherein an indication of the proximity sensor is used by the system to determine a validity of at least one of the workplace events. According to another embodiment, the plurality of communication nodes and sensor are adapted to transmit information using a plurality of communication channels, wherein each transmitter has specific time slots in which to transmit the information. According to another embodiment, the system is adapted to dynamically assign time slots for each of the transmitters.

According to another embodiment, the system further comprises a check-in system that assigns the sensor to the monitored subject, the check-in system including a reader that is adapted to scan an identifier associated with the sensor, and to create a record of an association between the scanned sensor and the monitored subject. According to another embodiment, the sensor is adapted to determine the location of the sensor based on detection of one or more of the plurality of communication nodes in the wireless mesh network. According to another embodiment, the determination of the location is determined responsive to detected signal strength of the one or more of the plurality of communication nodes in the wireless mesh network. According to another embodiment, the processor is adapted to determine an altitude of the monitored subject.

According to another embodiment, the managing computer system further comprises at least one user interface control that when selected, causes the interface to display event information relating to at least one workplace event that has occurred with the monitored subject. According to another embodiment, the managing computer system further comprises at least one user interface that displays one or more events associated with the monitored subject. According to another embodiment, the managing computer system further comprises at least one user interface that displays a graphic representation of a workplace site and a representation of one or more monitored subjects located one on the graphic representation responsive to a determination of locations of one or more sensor devices associated with respective ones of the one or more monitored subjects.

According to another embodiment, the sensor comprises an accelerometer adapted to detect a free fall event. According to another embodiment, the sensor is configured to operate in a low power mode wherein the processor operates in a stand-by mode and wherein the gyroscopic element is powered off. According to another embodiment, the sensor is adapted to transition from the low power mode to an active mode responsive to encountering a triggering event. According to another embodiment, the processor, responsive to the triggering event, is adapted to transition to an operating mode, and is adapted to power on the gyroscopic element and record data from the at least one accelerometer, gyroscopic element, and pressure sensor. According to another embodiment, the triggering event occurs responsive to a detection by the at least one accelerometer.

According to another embodiment, the sensor comprises a sensor element that indicates whether the sensor is being worn by the monitored subject. According to another embodiment, the sensor element includes a proximity sensor adapted to detect a presence of a monitored subject. According to another embodiment, the sensor element includes a clip switch adapted to indicate a change in status of a clip that attaches the sensor to the monitored subject. According to another embodiment, the processor is adapted to detect one or more false events. According to another embodiment, the one or more false events includes at least one of a group comprising a sensor drop event and a sensor throw event.

According to another aspect of the present invention, a non-volatile computer-readable medium is provided encoded with instructions for execution on a computer system, the instructions when executed, provide a system comprising a plurality of communication nodes configured in a wireless mesh network, a sensor, assigned to a monitored subject, comprising, a wireless network interface adapted to communicate with the mesh network, a processor adapted to detect a plurality of workplace events occurring to the monitored subject and wherein the processor is further adapted to communicate an event message over the wireless mesh network to a managing computer system, wherein the event message comprises a location of the event, information indicating that the monitored subject experienced at least one event of a group comprising a fall event, a jump event, and a slip and fall event. According to another embodiment, the sensor further comprises at least one accelerometer, a gyroscopic element, and a pressure sensor.

According to another embodiment, the sensor is further adapted to detect, responsive to a trigger, data for a defined period of time from the at least one accelerometer, gyroscopic element; and pressure sensor, and communicate the data within the event message. According to another embodiment, the system is adapted to analyze at least one of the plurality of workplace events, the analysis of at least one event including a determination of a freefall duration, a detection of a jump, an altimeter analysis, an impact detection, a rotational analysis, a post-fall analysis, and a proximity sensor analysis.

According to another embodiment, the system further comprises a managing computer system having an interface through which a user is capable of viewing information relating to the plurality of workplace events. According to another embodiment, the sensor further comprises a proximity sensor that senses when the sensor is being worn by the assigned subject, and wherein an indication of the proximity sensor is used by the system to determine a validity of at least one of the workplace events. According to another embodiment, a plurality of communication nodes and sensor are adapted to transmit information using a plurality of communication channels, wherein each transmitter has specific time slots in which to transmit the information.

According to another embodiment, the system is adapted to dynamically assign time slots for each of the transmitters. According to another embodiment, the system further comprises a check-in system that assigns the sensor to the monitored subject, the check-in system including a reader that is adapted to scan an identifier associated with the sensor, and to create a record of an association between the scanned sensor and the monitored subject. According to another embodiment, the sensor is adapted to determine the location of the sensor based on detection of one or more of the plurality of communication nodes in the wireless mesh network.

According to another embodiment, the determination of the location is determined responsive to detected signal strength of the one or more of the plurality of communication nodes in the wireless mesh network. According to another embodiment, the processor is adapted to determine an altitude of the monitored subject.

According to another embodiment, the managing computer system further comprises at least one user interface control that when selected, causes the interface to display event information relating to at least one workplace event that has occurred with the monitored subject. According to another embodiment, the managing computer system further comprises at least one user interface that displays one or more events associated with the monitored subject. According to another embodiment, the managing computer system further comprises at least one user interface that displays a graphic representation of a workplace site and a representation of one or more monitored subjects located one on the graphic representation responsive to a determination of locations of one or more sensor devices associated with respective ones of the one or more monitored subjects. According to another embodiment, the sensor comprises an accelerometer adapted to detect a free fall event.

According to another embodiment, the sensor is configured to operate in a low power mode wherein the processor operates in a stand-by mode and wherein the gyroscopic element is powered off. According to another embodiment, the sensor is adapted to transition from the low power mode to an active mode responsive to encountering a triggering event. According to another embodiment, the processor, responsive to the triggering event, is adapted to transition to an operating mode, and is adapted to power on the gyroscopic element and record data from the at least one accelerometer, gyroscopic element, and pressure sensor. According to another embodiment, the triggering event occurs responsive to a detection by the at least one accelerometer.

According to another aspect, a device is provided comprising a memory element, a processor coupled to the memory element; and an accelerometer, wherein the processor is adapted to determine, based on an output signal of the accelerometer, whether the device should be placed in a programming mode. According to one embodiment, the processor is activated responsive to a signal produced by the accelerometer. According to another embodiment, the processor is adapted to determine whether the device is placed in a particular orientation, and if so determined, the processor places the device in the programming mode.

According to another embodiment, the device is a sensor capable of being programmed for a particular application. According to another embodiment, the processor is further adapted to, after placing the device in the programming mode, search for a signal from a programming device. According to another embodiment, the device is a part of a group of one or more similar devices packaged together.

According to another embodiment, the group of one or more similar devices can be programmed simultaneously if the group of one or more similar devices are placed in the particular orientation. According to another embodiment, the processor is adapted to place the device in the programming mode responsive to the device being placed in the particular orientation during a predetermined time period. According to another embodiment, the processor is adapted to place the device in the programming mode responsive to the device being placed in a sequence of two or more orientations.

According to another embodiment, the device is assigned to a monitored subject. According to another embodiment, the device is designed to detect a plurality of workplace events experienced by the monitored subject. According to another embodiment, the device, when placed in the programming mode, receives a set of predetermined parameters from a programming device. According to another embodiment, at least one of the set of predetermined parameters includes an operating parameter associated with a specific worksite.

According to another aspect, a sensor is provided comprising an element that is adapted to attach the sensor to a monitored subject, a wireless network interface adapted to communicate with a network of communication nodes, a processor adapted to detect a plurality of workplace events occurring to the monitored subject and wherein the processor is further adapted to communicate an event message over the network to a managing computer system, wherein the event message comprises a location of the event, and information indicating that the monitored subject experienced at least one event of a group comprising a fall event, a jump event, and a slip and fall event. In one embodiment, the sensor further comprises at least one of a group of elements comprising at least one accelerometer, a gyroscopic element, and a pressure sensor.

According to another embodiment, the sensor is further adapted to detect, responsive to a trigger, data for a defined period of time from the at least one accelerometer, gyroscopic element, and pressure sensor, and communicate the data within the event message to a management system. According to another embodiment, the sensor is adaptively coupled to the management system, and wherein the management system is adapted to analyze at least one of the plurality of workplace events, the analysis of the at least one event including a determination of a freefall duration, a detection of a jump, an altimeter analysis, an impact detection, a rotational analysis, a post-fall analysis, and a proximity sensor analysis. According to another embodiment, the sensor further comprises a proximity sensor that senses when the sensor is being worn by the monitored subject, and wherein an indication of the proximity sensor is used by the system to determine a validity of at least one of the workplace events.

According to another embodiment, the sensor and the network of communication nodes are adapted to transmit information using a plurality of communication channels, wherein each transmitter has specific time slots in which to transmit the information. According to another embodiment, the sensor, when not in the sensor's specific time slot in which to transmit the information, operates in a low power mode. According to another embodiment, the sensor further includes a check-in capability, wherein the check-in capability associates the sensor with the monitored subject and communicates the association over the network to the managing computer system. According to another embodiment, the check-in capability is performed using RFID.

According to another embodiment, the sensor is adapted to determine the location of the sensor based on detection of one or more communication nodes in the network of communication nodes. According to another embodiment, the determination of the location is determined responsive to detected signal strength of the one or more communication nodes in the network of communication nodes. According to another embodiment, the sensor is adapted to determine an altitude of the monitored subject.

According to another embodiment, the sensor comprises an accelerometer adapted to detect a free fall event. According to another embodiment, the sensor is configured to operate in a low power mode wherein the processor operates in a stand-by mode and wherein the gyroscopic element is powered off. According to another embodiment, the sensor is adapted to transition from the low power mode to an active mode responsive to detecting a triggering event. According to another embodiment, the processor, responsive to the triggering event, is adapted to transition to an operating mode, and is adapted to power on the gyroscopic element and record data from the at least one accelerometer, gyroscopic element, and pressure sensor.

According to another embodiment, the triggering event occurs responsive to a detection by the at least one accelerometer. According to another embodiment, the sensor comprises a sensor element that indicates whether the sensor is being worn by the monitored subject. According to another embodiment, the sensor element includes a proximity sensor adapted to detect a presence of the monitored subject. According to another embodiment, the sensor element includes a clip switch adapted to indicate a change in status of a clip that attaches the sensor to the monitored subject.

According to another aspect, a communication system is provided comprising a plurality of communication nodes configured in a wireless mesh network, the plurality of communication nodes including a plurality of router nodes, and a plurality of sensor nodes in communication with one or more of the plurality of router nodes, wherein the plurality of router nodes are capable of routing event data generated by the plurality of sensor nodes to a management system, and wherein at least one router system is configured to provide location data to the management system.

According to one embodiment, the at least one router system is configured to provide location data to the management system via a gateway node. According to another embodiment, the plurality of router nodes are positioned at fixed locations within a workplace, and wherein the plurality of router nodes are used to determine a location of at least one of the plurality of sensor nodes. According to another embodiment, at least one of the plurality of sensor nodes is adapted to detect at least one event experienced by a monitored subject, the at least one event being determined from a group comprising a fall event, a jump event, and a slip and fall event.

According to another embodiment, the at least one of the plurality of sensor nodes is adapted to detect at least one event experienced by a monitored subject, the at least one event being a false event including at least one of a sensor drop event and a sensor throw event. According to another embodiment, the plurality of communication nodes and the plurality of sensor nodes are adapted to transmit information using a plurality of communication channels, wherein each transmitter has specific time slots in which to transmit the information.

According to another embodiment, the communication system is adapted to dynamically assign time slots for each of the transmitters. According to another embodiment, the plurality of sensor nodes and the plurality of communication nodes communicate by utilizing a time division multiple access scheme wherein each transmitter has an assigned time slot in which the respective transmitter is allowed to transmit.

According to another embodiment, each sensor node in the plurality of sensor nodes, when not communicating in the sensor node's assigned time slot, operates in a low power mode. According to another embodiment, each sensor node in the plurality of sensor nodes communicates to the plurality of communication nodes on a predetermined frequency. According to another embodiment, no two adjacent router nodes in the plurality of router nodes transmit on the same communication channel.

According to another embodiment, the plurality of router nodes determine the location of at least one of the plurality of sensor nodes by detecting signal strength. According to another embodiment, the plurality of router nodes and the plurality of sensor nodes are adapted to transmit information using a plurality of communication channels, wherein each transmitter has specific time slots in which to transmit information. According to another embodiment, the system is adapted to dynamically assign time slots for each of the transmitters.

According to another embodiment, the system further comprises a check-in system that assigns at least one of the plurality of sensor nodes to the monitored subject, the check-in system including a reader that is adapted to scan an identifier associated with the at least one sensor node, and to create a record of an association between the at least one sensor node and the monitored subject. According to another embodiment, the sensor is adapted to determine the location of at least one of the plurality of sensor nodes based on detection of one or more of the plurality of communication nodes in the wireless mesh network. According to another embodiment, the determination of the location is determined responsive to detected signal strength of the one or more of the plurality of communication nodes in the wireless mesh network.

According to another embodiment, the management system is adapted to determine an altitude of at least one of the plurality of sensor nodes. According to another embodiment, the management system is adapted to determine a location within a worksite of a monitored subject associated with the at least one sensor node based on a detected altitude of the at least one sensor node and a geographic location of the at least one sensor node. According to another embodiment, the management system stores for a worksite, a map of signal strengths and altitudes to particular worksite locations.

According to another aspect, a sensor is provided comprising an element that is adapted to attach the sensor to a monitored subject; and an element that is adapted to sense if the sensor is removed from the monitored subject. According to another embodiment, the element adapted to sense includes a proximity sensor. According to another embodiment, the element adapted to sense includes a switch integrated into the element adapted to attach the sensor to the monitored subject.

According to another embodiment, the sensor includes a processor adapted to detect a plurality of workplace events occurring to the monitored subject within a workplace. According to another embodiment, the sensor further comprises at least one of a plurality of elements comprising at least one accelerometer, a gyroscopic element, and a pressure sensor. According to another embodiment, the sensor further comprises a processor adapted to store event data relating to the sensed removal of the sensor from the monitored subject.

According to another embodiment, the processor is further adapted to send an event message including the event data to an event monitoring entity. According to another embodiment, the event monitoring entity is adapted to send an alert responsive to receipt of the event message. According to another embodiment, the sensor is adapted to detect one or more false events. According to another embodiment, the one or more false events includes at least one of a group comprising a sensor drop event and a sensor throw event.

According to another embodiment, the sensor further determines whether it is attached to an animate or inanimate object. According to another embodiment, the sensor further comprises an altimeter and a proximity sensor. According to another embodiment, the sensor, in determining if the sensor is removed from the monitored subject, employs one or more of a group comprising, jump detection, motion integration, altimeter analysis, impact detection, rotation analysis, post-fall analysis, and proximity sensor analysis. According to another embodiment, the sensor is further adapted to detect if the monitored subject is wearing more than one sensor. According to another embodiment, the sensor is assigned to a specific monitored subject, and the sensor is adapted to detect if the sensor is attached to a subject other than the specific monitored subject.

Still other aspects, examples, and advantages of these exemplary aspects and examples, are discussed in detail below. Moreover, it is to be understood that both the foregoing information and the following detailed description are merely illustrative examples of various aspects and examples, and are intended to provide an overview or framework for understanding the nature and character of the claimed aspects and examples. Any example disclosed herein may be combined with any other example in any manner consistent with at least one of the objects, aims, and needs disclosed herein, and references to “an example,” “some examples,” “an alternate example,” “various examples,” “one example,” “at least one example,” “this and other examples” or the like are not necessarily mutually exclusive and are intended to indicate that a particular feature, structure, or characteristic described in connection with the example may be included in at least one example. The appearances of such terms herein are not necessarily all referring to the same example.

BRIEF DESCRIPTION OF DRAWINGS

Various aspects of at least one example are discussed below with reference to the accompanying figures, which are not intended to be drawn to scale. The figures are included to provide an illustration and a further understanding of the various aspects and examples, and are incorporated in and constitute a part of this specification, but are not intended as a definition of the limits of a particular example. The drawings, together with the remainder of the specification, serve to explain principles and operations of the described and claimed aspects and examples. In the figures, each identical or nearly identical component that is illustrated in various figures is represented by a like numeral. For purposes of clarity, not every component may be labeled in every figure. In the figures:

FIG. 1 shows a block diagram of a distributed computer system capable of implementing various aspects of the present invention;

FIG. 2 shows an example check-in station according to one embodiment of the present invention;

FIG. 3 shows an example sensor architecture according to one embodiment of the present invention;

FIG. 4 shows example event management functions that the system according to various embodiments of the present invention may perform;

FIG. 5 shows an example process for managing sensor devices and workplace events according to one embodiment of the present invention;

FIG. 6 shows another example process for operating sensors in a mesh network according various aspects of the present invention;

FIG. 7 shows an example process for admitting a sensor to a mesh network according to various aspects of the present invention;

FIG. 8A shows an example message format according to various aspects of the present invention;

FIG. 8B shows an example admin block message according to various aspects of the present invention;

FIG. 8C shows an example beacon block message according to various aspects of the present invention;

FIG. 8D shows an example router block message according to various aspects of the present invention;

FIG. 8E shows an example SIM block message according to various aspects of the present invention;

FIG. 8F shows an example status relay block message according to various aspects of the present invention;

FIG. 8G shows an example even block message according to various aspects of the present invention;

FIG. 9 shows an example mesh network configuration according to various aspects of the present invention;

FIG. 10 shows another example mesh network configuration according to various aspects of the present invention;

FIG. 11A shows a bottom view of a sensor device according to various aspects of the present invention; and

FIG. 11B shows a top view of a sensor device according to various aspects of the present invention.

FIG. 12A shows a front view of a sensor device according to various aspects of the present invention;

FIG. 12B shows a side view of a sensor device according to various aspects of the present invention; and

FIG. 12C shows a back view of a sensor device according to various aspects of the present invention.

FIGS. 13-24 show several management interfaces according to various aspects of the present invention.

DETAILED DESCRIPTION

According to one implementation, a system is provided that is capable of monitoring subjects throughout the workplace. For instance, the system may include a monitor having various sensing capabilities that may be assigned to a monitored subject, the monitor being capable of recording various parameters that are personal to the worker. For instance, it is appreciated that there may be sensor that can be attached to the monitored subject (e.g., at the belt line) that is adapted to monitor certain parameters associated with the worker's environment. As discussed, according to one embodiment, the belt line of a worker (or other center of mass location) may be beneficial for monitoring the location of the worker, detecting accurately slip, fall, and other events, and avoiding false events. For instance, a sensor assigned to the monitored subject may be capable of determining the location of the subject, along with motion, impacts, altitude, and other environmental parameters that could affect the health or other condition of the worker. Further, it is appreciated that it may be helpful to record and visualize various information from individual or a collection of workers that are obtained through the monitoring function.

FIG. 1 shows a block diagram of a distributed computer system 103 capable of implementing various aspects of the present invention. In particular, distributed system 103 includes one or more end systems 104, one or more nodes (e.g., nodes 102A-102D) configured in a wireless network, and one or more sensors assigned to monitored subjects (e.g., monitored subject 101). Some or all of these entities may be coupled through a one or more communication networks, such as by a wireless network, the Internet, and the like.

Generally, users such as a managing user at a particular worksite (e.g., users 105 at worksite 100) may access a management program through a client application that is executed on one or more of end systems (e.g., end systems 104). End systems 104 may include, for example, a desktop computer system, mobile device, tablet or any other computer system having a display.

As discussed, various aspects of the present invention relate to interfaces through which the user can interact with a management system (e.g., management system 101) to monitor subjects and perform management functions using their monitored data. To this end, a client application may be provided that may include one or more interfaces through which management users access the distributed computer system 103. Other applications may be provided that permit management users to assign sensors to monitored subjects at the worksite, and to retrieve and reassign sensors after a particular monitored subject has left the worksite. Some system aspects relate to monitoring workers that travel from one site to another as well.

Further, sensor data including events, indications of the location of an event, the time at which an event occurred, and any parameters associated with that event may be communicated through a communication network to the distributed computer system (e.g. computer system 103). In one embodiment, a logical location (e.g., a specific room on a specific floor of a building) may be inferred by the system, responsive to an altitude of the sensor, and determined location of the user (e.g., based on relative position of the sensor to one or more fixed locations). As discussed, the communication network may be a wireless network that is configured and arranged on a particular worksite (e.g., worksite 100). In one implementation, the wireless network may be constructed of a number of wireless nodes (e.g., nodes 102A-102D) that communicate together to form a mesh-type network.

According to one embodiment, a sensor associated with a monitored subject may experience certain environmental parameters within the workplace, and may store events within a memory of the sensor device. In one embodiment, the sensor periodically communicates with a computer system (e.g., distributed computer system 103) to transfer event messages. Such event messages may be received and stored within one or more storage elements of the distributed computer system. Information associated with those events may be presented, for example, within a management interface, within an event message sent to management users, and/or sent to one or more external systems (e.g., a resource planning system).

FIG. 2 shows an example check-in station (e.g. check-in station 202) according to one embodiment of the present invention. In one embodiment, a check-in station may be provided that permits one or more check-in operators (e.g., operator 205) to associate monitored subjects (e.g., monitored subject 201) with respective sensors (e.g., sensors 206). To this end, check in station 202 may include one or more computer systems (e.g., system 204) having one or more management interfaces that allow the check-in operator to associate a sensor with a monitored subject. In one implementation, system 204 includes a reader/interface 203 that has the capability of identifying sensors individually during the check-in process. For instance, reader/interface 203 may identify a sensor using RFID.

System 204 may also be capable of identifying a monitored subject 201 at the worksite (e.g., worksite 200). For instance, the monitored subject may have one or more user identifications that can be read by one or more systems (e.g., system 204). Thus, an operator user may scan an ID of a subject or perform any other method for identifying the subject (e.g., receive biometric data, view a picture of the subject and visually identify him/her, or the like) and by scanning a sensor using a computer system at the checkpoint, the computer system associates the monitored subject with a particular sensor. A record identifying that particular monitored subject to be stored within the memory of the distributed computer system (e.g., distributed computer system 207). Thereafter, the system may monitor events and other parameters associated with the assigned sensor as the monitored subject operates within the monitored worksite.

As discussed earlier, a wireless communication network may be configured on the worksite including one or more nodes (e.g., nodes 208A-208ZZ) that are interconnected within a mesh network. Monitored subjects (e.g., monitored subject 101) operating within the monitored worksite (e.g., worksite 200) encounter various conditions within the worksite, and their assigned sensor devices track and record events associated with those particular conditions. Further, the sensors communicate over the mesh network by communicating with one or more nodes which relay the messages to the distributed computer system (e.g., computer system 207). Distributed computer system 207 may include one or more management interfaces used for the purpose of monitoring users, events, and their associated data.

In one embodiment, the system is capable of supporting a worker traveling between sites. For instance, the sensor may, according to one implementation, be capable of identifying and joining a mesh network at any one of multiple geographically distinct locations. Upon joining any network, all of the features of the sensor will be available, along with identification of the site's network to which the sensor is connected. The system may be associated (e.g., using a management system) to associate the sensor with multiple mesh networks, and when the sensor comes within a communication range of the network, the sensor automatically joins the network. This may be useful, for example, for a supervisory worker or other role that requires visits to multiple locations.

In another embodiment, the system is capable of supporting a worker traveling between sites wherein events may be locally stored within the sensor along with location data. For instance, the sensor may, according to one implementation, be capable of storing alerts detected when not connected to the mesh network, or alternatively, transmitting them through an alternate network (e.g., cell phone network, Bluetooth, or other communication capability). The sensor may also be configured to transition to an unconnected mode when not in range of the mesh network (or any other network).

FIG. 3 shows one embodiment of a sensor device according to various embodiments of the present invention. For instance, sensor 300 may include one or more components including a processing component that includes, but is not limited to, a controller 301 that is capable of processing data. Controller 301 may be, for example, a microprocessor, microcontroller or other processing entity that is capable of receiving event data, performing analyses of the data, and communicating information over one or more communication interfaces. Components may be coupled to the controller internal to the sensor using one or more connections, circuits, busses or other connection elements.

Device 300 may also include one or more sensing elements, such as accelerometers (e.g., accelerometer 302), gyros (e.g. Gyro 303), pressure sensors (e.g., pressure sensor 304), magnetometers (e.g., magnetometer 306), or any other detector type (e.g., other detectors 311 (e.g., temperature)). As discussed, device 300 may be RFID capable, and to this end, device 300 may include an RFID transponder (e.g. transponder 305). When scanned, the RFID transponder may provide an identifier of the particular sensor device (e.g., device 300). The RFID transponder or tag may be an active tag, a passive tag, battery-assisted passive tag, or other implementation. The RFID function can be implemented in conjunction with or separate from other sensor functions. In an alternative embodiment, RFID capability may be built in to one or more of the mesh network nodes, and a control on the node may be provided that permits a sensor to be admitted to the network without a separate computer system (e.g., at a check-in location). In such a case, the network node, after scanning the RFID of the sensor, sends a message over an administration channel to admit the sensor to the network.

Device 300 may also include one or more network interfaces (e.g., network interface 307) through which the sensor device communicates information to other systems. To this end, sensor device 300 may also include one or more antennas 310 that permit the sensor to communicate wirelessly to one or more mesh nodes within the mesh network (e.g., mesh network 312). System 300 may also include a power source 308, such as a battery. In one model implementation, the system is architected to minimize the amount of power drawn on the battery such that the sensors need not be recharged at the worksite.

According to another embodiment, sensor 300 includes a proximity sensor 309 that is used to determine whether or not the sensor is being worn by an actual human subject. For instance, in a situation involving fraud, a sensor may be purposefully dropped, thrown, or tied to some other object that experiences certain environmental conditions. To avoid false alarms, workplace fraud, and other indications not involving the assigned monitored subject, system 300 may have a proximity sensor that is capable of nullifying an alert, or otherwise qualifying information that may be provided by the sensor. Such a proximity sensor may include, for example, one or more detection elements such as an IR or capacitive proximity sensing element as known in the art. In certain cases, it may be beneficial to place the sensor device in a low power mode until the sensor is actually attached to a user in the prescribed manner and to eliminate false indications and reporting.

In addition to or in substitute for the proximity sensor, sensor 300 may include a switch integrated into the sensor that detects when the sensor is attached to the user. In one implementation, the switch is incorporated within a clip of the sensor (e.g., switch sensor 313) that attaches the sensor to the user. The switch is configured to provide an indication when the clip is attached to something. Such a switch can be used for power saving, as the sensor may be transformed to a low-power mode when the clip is not attached. Further the use of the switch may be recorded, and can be used for fraud prevention, such as the case when a fall is detected. For instance, if the device is unclipped immediately before an event, it raises questions about the authenticity of that event. In one implementation, the sensor is capable of detecting and recording detachments of 100 milliseconds or more, so that when the device is moved from one person (e.g., to another person or object), the removal is detected and recorded. For instance, even if the sensor is quickly removed for one person to another, or from a person to an object, the device may store an event in the sensor and/or communicate that event to the system (e.g., a supervisor, management system, etc.) via a message sent on the mesh network.

According to another embodiment, the sensor may include a switch (e.g., pushbutton switch 314) that permit the user/wearer to perform a manual alert. In particular, the user may push a button on the sensor to alert others of a safety issue. For instance, depending on the settings associated with the button, an activation of the button could indicate a witnessed safety violation, an emergency condition, or other workplace situation. According to various embodiments, certain button selection patterns may be used by the user to create different types of manual alerts. For instance, a single press may be a safety alert, a triple press may be an emergency situation, among others.

Also, according to another embodiment, the sensor may include a speaker, sound module, transducer, or other type of sound generating component to generate audio alerts. For instance, in one embodiment, the sound-generating component may be configured to generate sounds upon certain conditions (e.g., pressing of a pushbutton, making a chirp sound, etc.). Other capabilities may be provided by similar sound-generating component, such as providing a centralized evacuation alert, where an action taken by a supervisor or computer system can cause all sensors on a site or sublocation to start alarming. In another implementation, the system may be configured to allow for a supervisor's sensor to make an audible alert when any worker experiences an event. In such a case, the supervisor may check their sensor or other computer system (e.g., a mobile device) for details regarding the event. Further, responsive to a visual (e.g., LED) and/or audio alert, the wearer may use a feedback component such as a push button to acknowledge an event and communicate information to the system. For instance, the sensor may include an LED indicator when a push button is pressed. In the case of an emergency alert, the LED may be configured to indicate a different color/pattern when the alert has been acknowledged. For example, a message may be sent to the sensor if acknowledged, indicating to the wearer that help is on the way. The sensor may be configured to provide an alert acknowledgement that is audible as well. It should be appreciated that one or more statuses of an alert may correspond to one or more indicators, or indicator combinations.

Also, as discussed, the sensor may include a pressure sensor (e.g., pressure sensor 304) used to assist in determining the altitude of the sensor. In particular, the wearer's altitude may be determined by comparing the barometric pressure as measured by the wearer's sensor with pressure measured by one or more nearby mesh network nodes. According to one implementation, the altitude of particular network nodes is a known entity (e.g., they can be determined a priori and may be stored in memory of the node devices). Such information may be determined a priori during installation, or may be determined using a pressure detection element located within a network node (e.g., within a router).

These known heights may be used to determine what floor of a structure the user is located using a table (or other date structure) including heights for each floor, the data being stored in a database accessible through a communication network. An absolute altitude may be determined by comparing the sensor's pressure measurement to the values stored in the database. Once an altitude is determined, a floor of a particular structure may be determined based on a comparison with the pressure values of the known node devices. Once a floor is determined, possible regions/zones may be determined on that floor using relative signal strengths to mesh nodes. By using both altitude and relative signal strengths, a more accurate location within the worksite may be determined.

In a more detailed embodiment, the sensor (e.g., sensor 300) may include a low-power microcontroller. Such a microcontroller may include one or more radios (e.g., a radio operating in the 900 MHz band). The sensor may include a 6-axis MEMS accelerometer and gyroscope to perform detection of events. The sensor may include other components, such as, for example, rechargeable batteries, barometric sensor, a capacitive proximity sensor, RFID transponder, among others.

FIG. 4 shows example event management functions that the system according to various embodiments of the present invention may perform. For example, it would be beneficial to have a system that can determine whether a worker or other subject being monitored experienced a workplace accident or other condition. For instance, it would be highly advantageous to be able to detect, record, and alert for workplace accidents such as slips and falls, falls from ladders or other height conditions, among other types of events.

With each event, the sensor may determine whether an event occurred, along with parameters associated with that event. For instance, the sensor may indicate the location of the event. This may be determined, for example, by determination that a particular sensor is within range of a particular router node. Location may also be interpolated based on relative signal strength received from one or more router nodes. Location may also be determined through triangulation or some other method. It may be useful to have real-time alerts for certain accident types that includes location information, as emergency personnel may be dispatched to the identified location in less time. To this end, the system may also be configured to communicate with emergency systems (e.g., a 911 system) for the purpose of receiving emergency service in a more expedited manner.

The sensor may also be capable of determining how high and how hard a particular fall was associated with an event. The sensor may be capable of determining the type of fall (e.g., forward, backward, number of rotations or altitude during the fall, etc.) based on parameters detected by the accelerometers and/or gyroscopic devices within the sensor.

The sensor may also be capable of determining whether the sensor is being worn properly or at all at the time an event occurred. Such an indication may be used to eliminate false signals and/or alerting, or may be used to qualify (or disqualify) a particular reading or event.

The sensor may include a memory element that stores event data, along with a time at which the event occurred. Time information may be generated, for example, by a controller, and the controller may receive time indications from a centralized system (such that all sensors have the same or similar absolute time setting). Time settings may periodically be sent by system elements to synchronize time settings among the components and sensors. Sensors may also receive a centralized time setting upon admission to the network.

Also as discussed, each sensor is associated with a particular monitored subject, and this association may be used to identify the subject that experiences the workplace condition and/or generally monitor the subject. As indicated earlier, a secondary function of the system may include performing compliance and identification functions. For instance, it may be helpful to have a system that can verify whether the subject being monitored is actually at the jobsite, during the time that the subject is expected there. The system may also be helpful in performing a geofence function with certain areas of the jobsite. For example, there may be locations that have a certain level of security, have a dangerous condition, need a certain level of training, etc. and having a system that can track the location of users and alert on entry of the monitored subject to such locations would be advantageous. In one implementation, the system may include a management interface through which one or more geofence areas may be defined and/or monitored. Further, there may be a need to simply monitor locations of subjects at the workplace, and the system may be capable of providing this function. Further, because the system is capable of determining what workers are (or are not) on a particular jobsite, the system may also be used in the case of a sitewide emergency response where workers need to be accounted for, along with their locations.

Yet another set of functions the system could perform relates to resource management and tracking. For instance, it would be beneficial to be able to track and identify certain resources (e.g., roles such as a plumber) at particular job locations and to automatically record their presence there. In one example implementation, the system could send updated reports and/or alerts when particular parameters are triggered (e.g., exceeding the amount of allocated hours for plumbers for a particular job and/or job location in a defined period). Such information may be communicated to other systems, such as resource management systems, that provide tracking and budgeting functions for a particular job. For instance, a resource management system can measure the number of hours plumbers are located on a particular job, and can compare this measurement to a budgeted amount for a particular task. The resource management system may be configured to provide alerts and/or reports based on such information.

FIG. 5 shows an example process 500 for managing sensor devices and workplace events according to one embodiment of the present invention. At block 501, process 500 begins. At block 502, the sensor is scanned at a check-in station as discussed above. For instance, a computer system assigned to a check-in station having a reader device can be used to identify a particular sensor (e.g., using an RFID reader). At block 503, the system assigns the sensor to a monitored subject. The worker may have some identification information (e.g., an ID badge) that can be scanned at the check-in site, and that can be associated with an assigned sensor.

At block 504, the sensor may be connected to the mesh network or otherwise admitted to the communication network. In one embodiment, a communication protocol may be used to assign the sensor to the network. In another example implementation, the network assigns the sensor to a particular timeslot for transmission of event data. The sensor may need other communication information, such as site identification information, radio channels being used at the site, network topology information, among other site communication information. Such information may be provided to the sensor by one or more nodes of the network, the site information being formatted within an administrative message communicated to the sensor over an administration channel.

After the sensor is admitted to the network, the system monitors the sensor for events at block 505. In one implementation, the sensor transmits events generated within a predefined period during its assigned timeslot. At block 506, the sensor transmits events to the management system. Optionally, the system may alert the user (e.g., at block 507) of particular events received from a particular sensor. The monitoring process is continually performed, with sensors being admitted and removed from the network in real-time.

FIG. 6 shows another example process 600 for operating sensors in a mesh network according various aspects of the present invention. At block 601, process 600 begins. At block 602, system scans a monitored subject identification at a check-in location. For instance, a computer system at the check-in site be used to scan and ID badge or other identification from the monitored subject. Block 603, the system scans the sensor at the check-in site, by reading, for example an RFID tag associated with the sensor. At block 604, the system assigned to sensor to the monitored subject within the database.

At block 605, the monitored subject enters the worksite. At block 606, the system admits the sensor to the mesh network and monitors the sensor for the occurrence of events. In one implementation, a management system passively receives event and other status information from one or more sensor devices. When the monitored subject leaves the worksite at 607, the subject can return the sensor devices when they leave the jobsite, or the monitored subject may keep the assigned sensor without needing to revisit the check-in site.

In one example, the monitored subject may deposit the sensor in a receptacle at the worksite, and the sensor may then be disassociated with the monitored subject. Thereafter, the sensor may be reassigned to another monitored subject. Alternatively, the monitored subject may leave the worksite and retain the sensor. The sensor, after leaving the worksite and being out of range of the network may enter a power down mode (e.g., after a predetermined amount of time) at block 609. If temporarily out of range of the network, the sensor may still record event data for a predetermined amount of time, and may transmit the information when the sensor is readmitted to the network. At block 610, the monitored subject may return to the worksite and may come into range of the mesh network. The sensor may then enter a power-up mode and may be admitted to the network. At block 611, process 600 ends.

FIG. 7 shows an example process 700 for admitting a sensor to a mesh network according to various aspects of the present invention. In particular, one aspect of the present invention relates to a process for admitting sensors to the mesh network. At block 701, process 700 begins.

At block 702, the sensor is positioned within proximity of the mesh network. In one embodiment, the system uses a special administrative channel to perform administrative functions with sensors, and uses the administrative channel to facilitate sensors joining the network.

At block 703, a sensor that has not yet joined the network monitors and administrative channel. At block 704, the management system assigns the sensor to the mesh network. This may be performed, for example, responsive to a computer system at a check-in point making an association between the sensor and a particular monitored subject (e.g., as an association between an ID badge and a sensor ID).

After assignment, an access point note sends a pairing request packet on the administrative channel indicating the sensor to be admitted to the mesh network (e.g., block 705). According to one embodiment, the administrative channel is operated at a low power setting in relation to general data transmission channels so that signals will not interfere between other nodes in the network. However, the signal is operated at a level that nearby sensors are able to receive the signal and be admitted to the network. Further, operating the administrative channel frequency at a relatively low power permits multiple check-in sites to be operated relatively close to one another.

In one embodiment, the pairing request packet may include information identifying the sensor such as a serial number, network identifier, or other indicator. The pairing request may also include information that identifies a communication slot assigned to the sensor that uniquely identifies the slot in which a particular sensor sends status messages. For instance, the pairing request may include an indication of a time offset from the start of a communication cycle. The pairing request may send other information such as timestamp information (e.g., to provide a system time setting for synchronization purposes), a common channel for communicating in the particular mesh network.

At block 706, the sensor responds on the administrative channel with an acknowledgement message indicating that the particular sensor has received its configuration. At block 707, the sensor synchronizes with the network communication cycle, and begins communicating with the mesh network at block 708, periodically sending status messages within its assigned timeslot. At block 709, process 700 ends.

Example Protocol

According to one embodiment, a protocol may be provided for communicating between nodes and sensors. According to one aspect an RF wireless communication protocol is provided that includes a hybrid time-division/cellular approach to facilitating communication between a large number of sensors in a sensor network and a cloud-based server. Here, according to one implementation, the term cellular refers to the fact that the network is organized into cells, not a cellular telephone network such has 3G or LTE, although it should be appreciated that any type of network may be used.

In one implementation, the network protocol may be implemented as a specialized protocol operating over multiple channels in the 900 MHz ISM band. In one example, the protocol utilizes a Time Division Multiple Access (TDMA) scheme wherein each transmitter has specific time slots in which it is allowed to transmit. This arrangement allows large numbers of transmitters to share a single channel without interfering with each other.

The network protocol, according to one embodiment, also may be based around a periodic cycle. This cycle can be nominally 10 seconds in one implementation, but could be longer or shorter depending on the requirements for number of transmitters and maximum latency. The cycle may be further broken up into blocks, each of which provides a specific function to the system. Because, according to one embodiment, the sensors have information in advance when they need to receive beacons, they can keep their radios turned off much of the time, resulting in very low power consumption.

Nodes in the network can be three primary types:

Coordinator/Gateway—Coordinates communication activity within a cell and routes data from nodes in that cell to the cloud server (e.g., via the Internet). These nodes are powered externally and have some form of network connectivity (e.g., Internet). One coordinator in the network is designated the master and drives the timing for the entire network.

Router—Routers can be used as most of the fixed-position nodes in the sensor network. In one implementation, router nodes are responsible for providing the mobile nodes with location data and relaying data to the Gateway nodes. Routers are placed within communication range of a Coordinator/Gateway. In one implementation, router nodes are capable of being battery-powered, allowing for easy deployment.

Mobile Nodes—The mobile nodes, according to one implementation, router nodes include the sensors. According to various embodiments, these sensors are worn by personnel moving around the job site. They report status, location, and events to the nearest router or gateway node. The nearest router or gateway node may be determined, for example, by comparing values of Received Signal Strength Indication (RSSI) as measured from the perspective of each sensor. The nearest router or gateway node may be selected as the entity with the highest value of RSSI.

The design parameters met by at least one version of this protocol are as follows:

-   -   Support for 500 SIMs     -   Support for 180 fixed nodes (covering over 18 million square         feet)     -   Update SIM location and status every 10 seconds     -   Retrieve event details within 20 seconds     -   Support a sustained event rate of 1.5 events per second per cell     -   Low SIM radio duty cycle (<0.5% while in active use)     -   Link up to 2 SIMs per second at gate stations.     -   In one implementation, the system continues to operate during a         network outage (with local storage of events in Gateway nodes)

In one implementation, the system may implement the following specifications:

-   -   RF data rate of 5 kB/s (50 kBaud base rate minus overhead)     -   AP range of 100 yards

Protocol Design

Communication Cycle

According to one embodiment, the protocol is based on a time-division scheme using a 10-second cycle. This cycle is broken up into blocks, each of which has a specific purpose and is further broken into timeslots. FIG. 8A shows blocks within the 10-second cycle, and as shown, the cycle is broken into alternating Normal Blocks and Admin Blocks. Normal blocks are used for most of the functions of the system, and are transmitted on the operating channel selected for the site. According to one implementation, Normal Blocks 800 are 950 ms long. Admin Blocks are used for pairing of SIMs, always transmitted on channel 0, and are 50 ms long. In one implementation, block reserves a 10 ms window at the end for changing channels.

Channel Assignment and Use

In one implementation, the network uses multiple channels to allow adjacent cells to operate independently while allowing mobile nodes to move between cells seamlessly. In one example system, the following channels are assigned:

-   Admin Channel—According to one embodiment, this is hardcoded (e.g.,     to a designated channel such as channel 0), and is used only for     pairing SIMs with the network. The admin channel may be used at     reduced signal strength to prevent interference with other nearby     deployments. -   Common Channel—This is the channel used by all nodes in the network     during the Beacon, Router and SIM blocks. This channel may be     assigned to the network during deployment, and passed to the SIMs     during pairing. -   Cell Channel—Each cell is assigned a channel such that no two     adjacent cells have the same channel. Some cells may use the Common     Channel as their Cell channel. For example, according to one     implementation, a network with square cells would need four (4) cell     channels to operate, and a network with hexagonal cells would     require three (3) cell channel.

Packet Header

In one implementation, each packet sent in a timeslot contains a standard header comprising the following fields:

-   -   Project ID (1 byte)     -   Packet Length (2 bytes)     -   Packet Type (1 byte)     -   Source ID/status flags (2 bytes)

Note that, according to one embodiment, destination ID information is not part of the header, as many of the packets in the system are considered to be broadcast. Certain packet types may add a destination ID, however. In addition, according to one implementation, each packet contains a 2-byte CRC.

Admin Block and Pairing

According to one protocol implementation, when a sensor (e.g., a SIM) is first activated (e.g., powered on, woken from sleep, etc.), the SIM starts listening continuously on channel 0. The normal process includes scanning the SIM at the Gate Station, and which causes the AP to send a pairing request packet in the next admin block. The pairing request, according to one embodiment, contains the following:

-   -   Identifier of activated SIM     -   Time offset from start of cycle     -   System Timestamp     -   Common channel     -   Site number of APs     -   SIM timeslot assignment

The SIM responds with an acknowledgment, and then synchronizes to the communication cycle (using the time offset in the pairing request) and begins transmitting during its SIM timeslot. An example implementation of an admin block 810 is shown in FIG. 8B. The admin block contains timeslots for two pairs of pairing requests/responses. Both the request and response have room for up to 45 bytes. In one embodiment, the admin channel 0 communication is performed at a reduced power level, and that no two gates are within range of each other to cause interference.

Beacon Block

According to one embodiment, the Beacon Block supports the following functions:

-   -   Synchronization of communication cycle     -   Allow SIMs to determine a closest Router node

According to one implementation (e.g., beacon block 820 as shown in FIG. 8C), the beacon utilizes very short packets to minimize the amount of time the SIM needs to have its receiver active. Each packet, according to one embodiment, comprises the following information:

-   -   Project ID (1 byte)     -   Router ID (1 byte)     -   Status flags (1 byte)     -   Checksum (1 byte)

According to another implementation, the SIMs listen to the beacon block to determine the closest router. Once the closest router is located, the SIM needs only to listen for beacons from that router and its neighbors. The list of neighbors and other information about the router is determined by listening to the router block.

Router Block

According to one embodiment the Router Block allows SIMs to gather information about network topology which is required for efficient use of the network. FIG. 8D shows one example implementation of the Router Block 830. The block is divided into timeslots for up to 180 Router or Gateway Nodes. During the Router Block, each router transmits information regarding the topology of the network:

-   -   Header/CRC (8 bytes)     -   Cell ID/timeslot (1 byte)     -   Cell Channel (1 byte)     -   Distance from Master (hops, 1 byte)     -   Neighbor router IDs (8 bytes)

The timeslots allow for 1 millisecond of “dead air” between timeslots of different transmitting devices to allow for jitter. This feature may be consistently implemented throughout the protocol.

The Routers monitor each other during the Router Block as well. This allows resynchronization of both the communication cycle and the system timestamp. A master router (e.g. Router 1) may, in one implementation, to be considered the master, and Routers should use the timing information from the router with the lowest master distance they receive from to allow propagation through the network.

SIM Block

In one implementation, there are 3 SIM blocks in the cycle, each of which provides timeslots for 180 SIMs to transmit their status. FIG. 8E shows the timeslot division of the SIM Block 840. In one implementation, the SIM packets are short (up to 20 bytes). The following information is contained in each:

-   -   Header/CRC (8 bytes)     -   Event count (1 byte)     -   Battery level/status (1 byte)     -   Nearest routers/RSSI values (4 routers, 8 bytes)

Status Relay Block

According to another embodiment, a Status Relay Block allows each of the router nodes in a cell to relay SIM status and routing information to the cell's Coordinator node. Within the Status Relay Block (e.g., block 850 as shown in FIG. 8F), the Coordinator first sends a packet containing any commands for the routers. According to one implementation, the command may include commands that control the routers to change network organization (e.g. join a different cell) or power down for a period of time, or perform other functions. Following the Coordinator timeslot, each Router in the cell transmits a packet in its designated timeslot containing its own status and the SIM statuses it has received in the current cycle:

-   -   Header/CRC (8 bytes)     -   Status/Battery (4 bytes)     -   SIM Status (up to 40 SIMs):     -   SIM ID (2 bytes)     -   Nearest Routers/RSSI Values (4 routers, 8 bytes)     -   Battery level/status (1 byte)     -   Event count (1 byte)

In one example implementation, if more than 40 SIMs report to a single Router, not all statuses are able to be sent to the coordinator in the current cycle. One possible way to mitigate this is to have the router alternate between ascending and descending ordering of SIMs, so that any missed SIMs should be reported in the following cycle. In addition, adjacent routers could use opposite ordering, to improve the chances that one of the routers would be able to report the status. By the end of the Status Relay Block, the coordinator has (e.g., stored in memory) the current status and event count for all SIMs within the cell, which it can then use to allocate timeslots and routing for the Event Block.

Event Block

In one example implementation, the communication cycle contains 4 event blocks, each of which can hold 6 events. In one network arrangement, events generally require two hops to make it to the Gateway, so this arrangement provides for a sustained rate of 1.2 events per second within each cell. FIG. 8G shows an example breakdown of an Event Block 860 according to one implementation. The first portion of the Event Block is dedicated to routing, where the event timeslots are allocated to SIMs and Routers in such a way to allow event packets to be relayed to the Gateway. First the Coordinator sends a routing packet, which is then repeated by each of the routers so that all nodes get the information.

The routing packet, according to one example, comprises a Message ID, Source ID, and Destination ID for each of the six (6) event timeslots. This information indicates to the nodes in the system when they should be receiving and transmitting to relay event packets from SIM to Gateway. The next portion of the Event Block is the event timeslots. In one implementation, each event timeslot has room for a 680 byte payload. This is sufficient, for example, to handle 100 samples on each of the accelerometer and gyro axes, forty (40) samples from the altimeter, plus additional timestamp, initial conditions, location, and status information.

The final portion of the Event Block is the ACK timeslots, in one implementation. In one example, each ACK timeslot contains flags for the acknowledgment of events that were transmitted. First the coordinator sends its ACKs, and then each of the routers relay these ACKs to all SIMs in the cell. This block provides significant room for expansion as the block allows routing of arbitrary packets between nodes within a cell. For instance, this may be used for initial autoprovisioning of the network, reconfiguration of the nodes, and/or support of new sensor types.

Cell Organization

FIGS. 9 and 10 show example implementations of possible matrixes of router nodes and coordinator/gateway devices in one or more mesh networks (e.g., mesh networks 900 and 1000). In particular, FIG. 9 shows a network organization of a mesh network 900 using four cells in a square-grid layout. This layout could cover, for example, over 2 million square feet using four (4) Gateways and thirty-two (32) Routers.

FIG. 10 shows a hexagonal arrangement of cells in a mesh network 1000. This arrangement covers area more efficiently than a square grid and requires one fewer channels to operate, however, this arrangement may be more difficult to deploy and provision.

SIM Power Consumption

Various aspects of the present invention relate to reducing power consumption within sensor devices (e.g., SIMs). During nominal operation, according to one implementation, the SIM may be required to have the receiver active during the Beacon Block, and to transmit during its designated timeslot in the SIM block. When receiving the Beacon block, the SIM can typically monitor at most nine (9) of the timeslots, corresponding to the closest node from the previous cycle and up to eight (8) of its neighbors. This represents 18 milliseconds out of a 10 second cycle, or a 0.18% duty cycle. Transmission in the SIM block is a short 4 ms packet once per 10 s cycle, or a 0.04% duty cycle.

When an event needs to be transmitted, the SIM can perform the following with the radio:

-   -   Listen for a routing message from the nearest router (8 ms)     -   Transmit the event (136 ms)     -   Listen for an ACKs (45 ms)

Therefore, each event adds 53 ms of RX time and 136 ms or TX time. If 100 events are expected over an 8-hour shift (most of these false events filtered by cloud), this results in an additional 0.02% RX duty cycle and 0.05% TX duty cycle. When the SIM moves within range of a router for the first time, the SIM listens to the corresponding packet in the router block, which is a rare occurrence in most example deployments.

Total radio duty cycle: RX: 0.20%, TX: 0.09%, Total: 0.29%

Those numbers represent if the device was active 24-hours a day. If the device is only used for a single 8-hour shift, then the total duty cycle is <0.1%.

To cut this further, it may not be necessary for the SIM to listen to every Router block, especially if the accelerometer/gyro indicates that the device has not moved significantly. Such implementations may permit sensors to remain in the field for longer periods, and to extend the time periods between recharges.

Event Analysis

Once an event has been recorded, according to one embodiment, it is analyzed to determine whether the event represents a real fall or other type of event. In one implementation, a basic version of this analysis is performed within the sensor, in order to reduce network bandwidth utilized sending false events.

The analysis of an event may include one or more of the following components:

Freefall duration: In a simple freefall, the duration in freefall can be used to compute the height of the fall using:

$h = {\frac{1}{2}{at}^{2}}$

where h is the fall height in meters, t is the duration of freefall in seconds, and a is the acceleration of gravity (9.8 m/ŝ2)

Jump Detection: it is appreciated that the above equation used to determine freefall duration may not provide accurate results in the case of a jump, where the user accelerated upwards at the start of the freefall duration. To account for this, the pre-trigger accelerometer data is examined for a jump. This can be represented as an upward acceleration immediately prior to the freefall. Through discrete integration the upward velocity can be approximated, and used in the modified equation:

where h is the fall height in meters, v0 is the initial upwards velocity, t is the duration of freefall in seconds, and a is the acceleration of gravity (9.8 m/ŝ2)

Motion Integration: Optionally, if sufficient angular velocity data from the gyro is available, all of the acceleration samples can be placed in a reference frame relative to the ground, thus allowing the vertical displacement during the fall to be computed as the second integral of acceleration.

Altimeter Analysis: The altimeter data can be correlated with the fall height computed above to provide a more accurate estimate of fall height and higher confidence in the legitimacy of the event.

Impact Detection: the acceleration at the end of freefall can be examined to determine whether the subject experienced a hard or soft landing. This can be used to help determine whether the fall was intentional (such as hopping down from the bed of a truck) or unintentional. The severity of the landing can be recorded with the event in the cloud database, and events with severity below some threshold will be hidden from reports by default (e.g., to lessen the number of false reports).

Rotation Analysis: The gyro data may be examined for angular velocity during freefall. This is used to discriminate the type of fall. For example, a forward rotation indicates the user probably tripped over an obstacle, while a backwards rotation may indicate the user slipped and lost their footing.

Post-fall Analysis: The accelerometer and gyro data may be examined in the period immediately post-landing to determine whether the subject continued walking normally or stayed on the ground for some time, and if the subject stayed on the ground, a determination may be made whether the subject rolled around or lay still. These conditions is indicated on the event report.

Proximity Sensor Analysis: The data from the proximity sensor may be examined to determine whether the sensor was being worn before, during, and after the fall.

According to one embodiment, the system may be capable of detecting and reporting false events. In one implementation, there are two types of false events that the system is capable of identifying:

Probable Sensor Throw—These events occur when a user throws a sensor up in the air, either catching it or letting it fall. In one embodiment, these events are characterized by a high acceleration immediately prior to the period of freefall. This acceleration is greater than if the user jumps or falls during a genuine event, and can be used to discriminate this event type from other event types. The system compares the average magnitude of the acceleration vector during a period (for instance, 0.4 seconds) immediately before freefall, and if this acceleration exceeds a pre-set threshold (2.4 g) the event is marked as a probable sensor throw.

Probable Sensor Drop—These events occur, for example, when the user drops their sensor, or the sensor is knocked off their belt and falls to the ground. These events are characterized by a high rate of rotation upon impact, followed by a period of no rotation as the unit sits at rest on the ground. In one implementation, the algorithm is only applied to falls that have a measured height of less than a predetermined height (e.g., 2 meters). The system may be configured to identify the peak angular velocity during the period starting when the device is in freefall through a predetermined time (e.g., 1 second) after the end of freefall. If the peak angular velocity exceeds a set threshold (e.g., 800 degrees per second) then the system checks for inactivity by calculating the RMS angular velocity during a period after impact. If the RMS angular velocity is below a set threshold (e.g., 5 degrees per second) then the device is assumed to be at rest, and the event is marked as a probable sensor drop. Input from the proximity or clip sensor may be used to increase the confidence of this filter function.

Location Determination

According to one implementation, the system is able to determine the approximate location of each sensor by comparing the signal strength between the sensor and each node in the mesh network (e.g., via measurement of RSSI), and interpolating the position between the nodes. In one example implementation, the sensor records the received signal strength of each Beacon packet and returns this information in its status packet. The Gateway and Relay nodes also record the received signal strength from each sensor, and send this information along to a management system (e.g., an application program executing on one or more server systems in a cloud-based environment (referred to herein as the “Cloud server”). In one example, the Cloud server can combine the signal strengths for a more accurate estimate of the distance between the sensor and each node.

It should be noted that buildings can be complex environments for tracking location in this way, as structures can both block and reflect radio waves. Several strategies can be used to improve location accuracy:

Filtering: Because people generally move at a walking pace on a job site, and tend to move in regular paths, a significant amount of filtering can be done on the location data to prevent the reported position from jumping around.

Pedometer: The pedometer function of the accelerometer can be utilized to estimate the distance a user has walked in a given period of time, further improving the filtering that can be performed.

Calibration map: For fixed installations, part of the deployment can be mapping signal strengths across the job site, which can then be used to provide much more accurate location measurements. For instance, in one application, a signal from the altimeter is used as an input to determine which floor a user is on, and then responsive to the floor determination, a calibration map may be selected that is linked to the particular floor. Calibration maps may be determined when the system is first installed, and may associate actual logical locations (e.g., via a map or other locational construct) with a pattern of RSSI values from multiple mesh nodes.

Fraud Prevention

Fake Event Generation

In some cases, a user may try to simulate a slip or fall in order to fake an injury. In most cases, this will require taking the sensor off the body. The proximity sensor or clip-based switch in the device will detect that the sensor is not being worn, and any events that occur while not worn is disregarded. Further, in one example implementation, the proximity sensor has the ability to discriminate between an animate object (such as a human body) and most inanimate materials, such as wood and stone. In this way, for example if a user takes off his sensor and attaches it to a sack of concrete and then pushes it off the back of the truck, the system will know that this was not a real fall. Further, the system will contain a record of the attempted fraud, so that appropriate action may be taken.

Location Tracking

In some cases, a user may want to bypass the location tracking of the sensor by taking it off. If the user takes off the sensor and leaves it somewhere, according to one embodiment, the system detect it is not being worn (via, for example, the proximity sensor and/or clip switch) and that it is not moving (via the accelerometer) and the sensor may alert the supervisor or other system. If a user tries to bypass the system by having another user wear his sensor (in addition to that user's own sensor), this situation may be more difficult to detect. Within the Cloud server, the system may be adapted to run correlations on the position and motion of the sensors to detect if a single individual is wearing more than one sensor. In this case, an alert can be generated and sent to the supervisor.

User Identification

According to yet another implementation, gateway nodes can be outfitted with an RFID scanner capable of scanning both the sensors as well as standard RFID access cards or tokens. In a deployment where sensors are to be kept on site, on arrival the user will first scan his badge, then take a sensor and scan the sensor as well. This capability allows the system to associate that sensor with a particular user. When leaving the site, the user just scans his badge, and deposits the sensor in a receptacle. The system may then automatically disassociate the user from the sensor.

Note that access cards may be replaced with keychain fobs or stickers placed on hardhats or other gear, with the rest of the operation staying the same. In scenarios where the user keeps the same sensor day-to-day, they do not need to badge-in at all. Instead, the system may be adapted to automatically register the user when a user has come within range of the mesh network and mark them as having arrived on site. When the sensor leaves range of the mesh network for a specified duration, the user is marked as having left the site.

The above situation may work optimally when the site is fully covered by the mesh network. In cases where the site has “blind spots” not covered by the network, it may be necessary for users to badge in and out. In this case, the users can scan their badges, and not their sensors.

Dynamic Sensor Provisioning

To function within the mesh network at a specific site, the sensor requires configuration information regarding the site, such as site identification, radio channels being utilized, network topology, etc. This information is collectively called the “site configuration.” In one specific implementation, the system contains a mechanism for automatically associating sensors with the network such that a new sensor from the factory can be utilized at any job site with no manual configuration.

To achieve this, all gateway nodes periodically transmit on a fixed frequency, known as the “admin channel”. These transmissions are performed at a reduced signal strength, so that only nearby sensors can receive it and so that the signals do not interfere with other gateway nodes in the network. These admin transmissions contain the site configuration required for a sensor to find the mesh network. Further, packets targeting a specific sensor may be sent on the admin channel, containing sensor-specific configuration such as protocol timeslot assignments. This may be done following a scan of the sensor's RFID tag or automatically upon detection of a new sensor.

Sensor Device

According to one embodiment, as discussed above, the sensor device that worn the beltline by a particular subject. To this end, the sensor system may have one or more attachments that are used to affix sensor to the monitored subject. FIGS. 11A and 11B show varies embodiments of a sensor 1100 that may be used to monitor a particular subject. Sensor 1100 include, for example, a clip 1101 that attaches sensor 1100 to the user. Clip 1101 may include an internal mechanism that, when clipped to the user, a switch is activated. The switch may be used alone or in conjunction with other sensors (e.g., a proximity sensor) to determine whether the sensor is coupled to the user. Further, as discussed above, the sensor 1100 may also include a button 1102 that is used by the user to initiate manual alerts. The sensor may be responsive to one or more different patterns of button presses to indicate different types of alerts. Also, FIGS. 12A-12C show different perspective views of an example sensor 1100 that may be used by the system in accordance with various embodiments.

Cloud Server System

As described above, a gateway node may be configured to send all events, statuses and scan operations to the Cloud server by utilizing web services. The Cloud server may include logic that decodes the events, status and scan operations and store the appropriate decoded information, along with the source into its database for further processing and for display to the user via one or more user interfaces (e.g., a Cloud Dashboard). The Cloud server system may be accessible by one or more user types through one or more networks. The Cloud server may also include one or more management interfaces (e.g., as shown by way of example in FIGS. 13-24 discussed below) through which the system may be configured, alerted and monitored.

Resource Management

The Cloud server and its associated management interfaces may allow for various users to set resource budgeting information, such as how many hours on site a particular role (e.g. framer, plumber) will be on site and on what days. This information can also be loaded via an API for integration with existing resource management software. Either via scan operations or a sensor device coming into and out of the mesh network the cloud will know the time a worker is on site. It can present this information on its own for planning purposes (via direct detailed records, or via charts), or it can compare this to the resource budgeting to identify whether the appropriate amount of hours are being used against budget.

Location Management

The Cloud server can indicate the location of workers on the job site, by overlaying pins or dots over a graphic representation of the site such as a blueprint. Dot locations may be determined by interpolation of RSSI values, altitude, pressure, and/or other measurement data. In one example implementation, the pins can be animated, though with refreshes of statuses, the pin associated with a particular user may not necessarily move with every step, but a management user (e.g., a supervisor) can be shown the current position of all workers. In one embodiment, the sensor may have a more real-time view of the person's location for the purpose of event reporting. In the case of an emergency or event condition, the user's location may be reported and/or determined at a higher resolution.

Event Notification

The Cloud server may be adapted to show (e.g., within a management interface) a running list of recent events, as well as allow a user to drill into workers or sites and see events that have occurred. Real-time notifications can be presented when an event occurs. This can be shown on the dashboard, but can also be sent via email or SMS to users such as foremen or site managers.

Status Digest Emails

The Cloud server may be configured to send emails containing consolidating information for a job on a scheduled basis (e.g., every morning, every Monday, etc.). These emails can include events that have occurred since the previous email, numbers and hours of workers, etc. In one implementation, the content of status digest emails can be formatted by a user.

Example Management Interfaces

As discussed, a Cloud server may be capable of performing one or more management functions with the sensor-based system. Such management functions may include monitoring sensor devices and locations, viewing events, performing analysis of events, allocating sensors to individuals, monitoring employee performance, among other functions. To this end, the Cloud server may include one or more management interfaces to facilitate these functions.

For example, FIG. 13 shows a map layout of a particular workplace within a management interface presented to the user (e.g., an administrator). The interface may have the capability of mapping the live position of the worker within certain designated areas of the workplace. An administrator may be capable of configuring zones and monitoring workers within those zones.

FIG. 14 shows an example interface that permits an administrator to define zones on a map showing the architectural view of a particular floor within the workplace. The system may include a control that allows the administrator to define the zones through a drag and drop interface. In the example shown, the user is permitted to resize the zone associated with the architectural view.

FIG. 15 shows an example interface that permits an administrator to view a 3D viewpoint of a particular workplace (e.g., via an isometric view interface). In this interface, the system may show the workers' live positions within the workplace. This determination may be assisted by an altitude calculation as discussed above with respect to mesh network devices. Thus, there may be a capability of detecting certain workers on particular floors in real-time.

FIG. 16 shows an example interface that permits an administrator to manage notifications handled by the system. For instance, for a particular installation, the system may permit an administrator to configure alerts, determine the frequency and/or times alerts are generated, to whom they are sent, etc. Further, the system may be capable of defining rules that can have one or more parameters specified by a user, and these rules can be applied to one or more job sites, worker types, groups of workers, or individual workers.

FIG. 17 shows an example interface that permits an administrator to view the onsite history of a particular worker. The interface may show specific performance information associated with the worker, such as hours worked over particular periods, events logged, types of events, among other performance information.

FIG. 18 shows an example interface that permits an administrator to view a list of workers (e.g., in a tabular form). From this list, individual workers may be selected, and the administrator may selectively view information relating to individual workers. In the tabular view, the user (administrator) may view a list of workers, along with their role (e.g., a trade, level, etc.), the floor where they are presently located, a zone (e.g., a logical association of an area which can be mapped to one or more physical locations), when the worker was last badged, and hours logged information (e.g., daily, monthly, or some other period).

FIG. 19 shows an example interface that permits an administrator to view detailed event information associated with particular workers. For instance, from a worker view, the administrator may select a particular event, which causes a window to provide more detailed information, such as when the event occurred, the type of event (e.g., as determined by the sensor and/or system analysis), and any zone or other event information. The system may also track how supervisors address and deal with identified events.

FIG. 20 shows an example interface that permits an administrator to view a history of particular workers during their times on the identified worksite. In particular, an administrator may be provided a listing of the worker's location, in-time, out-time, in-gates, out-gates, or other relevant information while onsite.

FIG. 21 shows an example interface that permits an administrator to view the actual location of the worker on a map. The workers may be identified as pins superimposed on a logical and/or image map, allowing the administrator to quickly discern the worker's location.

FIG. 22 shows an example interface that permits an administrator to view performance information relating to the presence (or absence) of particular workers or groups of workers on a particular jobsite. This information may aid in planning and/or monitoring workers either individually or as a group (e.g., particular subcontractors). Such capabilities may also be integrated with one or more other systems, such as project planning, accounting, cost recovery and/or other tools.

FIG. 23 shows an example interface that permits an administrator to view performance information relating to particular types of workers at a jobsite. Such a view may show quickly to an administrator and/or manager whether there are issues relating to insufficient oversight, inadequate coverage or integration between trades, budget issues, or other issues relating to particular allocations of jobs and roles.

FIG. 24 shows an example interface that permits an administrator to view, in a calendar view, what particular types of workers were present at a particular job site, job zone, or other identified work location. This capability may allow the administrator to identify resource allocation issues, and to more efficiently allocate resources.

It should be appreciated that the system may include other management features, and the invention is not limited to these features. Also, it should be appreciated that any of these features may be used alone or in conjunction with any other features described herein.

Over-the-Air Programming Using Accelerometer-Based Unlock Sequence

Another aspect of the present invention relates to configuration and programming of sensor devices and more generally, electronic devices that include the ability to detect movement and/or orientation. In one implementation of the sensor-based system, there may be included wearable sensors which are sealed at the factory, which may be updated with new firmware/software either at a distribution facility or in the field. To facilitate this, a system may be provided that uses the device's accelerometer to unlock and enable programming mode, so that the device can receive a firmware or other type of programming update via radio communication via a communication network.

In its simplest form, a device which has not had application firmware installed will remain in a low-power sleep state, periodically waking up to measure the acceleration measured by the accelerometer sensor. When at rest, this acceleration measures 1.0 g from gravity, in a direction dependent on the orientation of the device. According to one embodiment, the sensor may use this information to identify if the sensor is placed in a particular orientation, and if that orientation is detected, the sensor starts searching for a signal from the programming device. The orientation may be detected, for example, responsive to a wake-up event, such as movement, an outside signal, or other activity. When such a signal is detected, the programming process is started from the programming device.

Because this process does not require any direct interaction with the device other than placing the sensor in a known orientation, this capability makes it ideal for programming a large number of devices that are packaged together, or programming a device while it remains within its packaging without having to take the device out of the packaging. For instance, according to one embodiment, an administrator can take a box of devices off the warehouse shelf, put the box in a fixture to hold it in the activation orientation, and program all the devices in the box without unsealing the packaging.

Further, it should be appreciated that other methods may be used that incorporate this feature in a variety of options, such as implementing a multi-step sequence for unlocking programming mode, requiring two (2) or more orientations. Further, the orientations may also require specific timing, which lessens the possibility that the devices can be accidentally placed in the programming mode (e.g., during shipping) and providing for additional security. However, it should be appreciated that various aspects may use the single-orientation system in combination with other orientations and/or programming modes.

Having thus described several aspects of at least one embodiment of this invention, it is to be appreciated various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications, and improvements are intended to be part of this disclosure, and are intended to be within the spirit and scope of the invention. Accordingly, the foregoing description and drawings are by way of example only. 

What is claimed is:
 1. A device comprising: a memory element; a processor coupled to the memory element; and an accelerometer, wherein the processor is adapted to determine, based on an output signal of the accelerometer, whether the device should be placed in a programming mode.
 2. The device according to claim 1, wherein the processor is activated responsive to a signal produced by the accelerometer.
 3. The device according to claim 1, wherein the processor is adapted to determine whether the device is placed in a particular orientation, and if so determined, the processor places the device in the programming mode.
 4. The device according to claim 1, wherein the device is a sensor capable of being programmed for a particular application.
 5. The device according to claim 3, wherein the processor is further adapted to, after placing the device in the programming mode, search for a signal from a programming device.
 6. The device according to claim 3, wherein the device is a part of a group of one or more similar devices packaged together.
 7. The device according to claim 6, wherein the group of one or more similar devices can be programmed simultaneously if the group of one or more similar devices are placed in the particular orientation.
 8. The device according to claim 3, wherein the processor is adapted to place the device in the programming mode responsive to the device being placed in the particular orientation during a predetermined time period.
 9. The device according to claim 3, wherein the processor is adapted to place the device in the programming mode responsive to the device being placed in a sequence of two or more orientations.
 10. The device according to claim 1, wherein the device is assigned to a monitored subject.
 11. The device according to claim 10, wherein the device is designed to detect a plurality of workplace events experienced by the monitored subject.
 12. The device according to claim 3, wherein the device, when placed in the programming mode, receives a set of predetermined parameters from a programming device.
 13. The device according to claim 12, wherein at least one of the set of predetermined parameters includes an operating parameter associated with a specific worksite. 